package com.dao;

import com.bean.EDelivery;
import com.exception.CodeException;
import com.exception.NumberException;
import com.exception.idNumberException;
import com.exception.phoneException;

import java.util.*;

/**
 * @author LEIKE
 * @Title : BaseEDeliveryDao
 * @Description: 快递员业务DAO接口
 * @Date_Created_in: 2021/5/26 17:58
 * @Modified_By:
 * @Project: com.dao
 */
public interface BaseEDeliveryDao {
    /**
     *  获取控制台所需数据
     * @return
     */
    Map<String, Integer> console();

    /**
     *  分页查询
     * @param limit 是否分页
     * @param offset 起始索引
     * @param pageNumber 每页查询数
     * @return 快递员集合
     */
    List<EDelivery> findAll(boolean limit, int offset, int pageNumber);

    /**
     *  根据手机号码查询快递员
     * @param phoneNumber
     * @return 查询结果
     */
    List<EDelivery> findByPhoneNumber(String phoneNumber);

    /**
     *  录入newE快递员信息
     * @param newE
     * @return 是否成功
     */
    boolean insert(EDelivery newE) throws idNumberException, phoneException;

    /**
     *  修改快递员信息
     * @param phone
     * @param newE
     * @return 是否成功
     */
    boolean update(String phone, EDelivery newE);

    /**
     *  根据phone删除快递员信息
     * @param phone
     * @return 是否成功
     */
    boolean delete(String phone);
}
